Approximated invariant method for pattern detection

ABSTRACT

A system and a method for classifying input vectors into one of two classes, a target class and a non-target class, utilize iterative rejection stages to first label the input vectors that belong in the non-target class in order to identify the remaining non-labeled input vectors as belonging in the target class. The system and method may be used in a number applications, such as face detection, where the members of the two classes can be represented in a vector form. The operation of the system can be divided into an off-line (training) procedure and an on-line (actual classification) procedure. During the off-line procedure, projection vectors and their corresponding threshold values that will be used during the on-line procedure are computed using a training set of sample non-targets and sample targets. Each projection vector facilitates identification of a large portion of the sample non-targets as belonging in the non-target class for a given set of sample targets and sample non-targets. During the on-line procedure, an input vector is successively projected onto each computed projection vector and compared with a pair of corresponding threshold values to determine whether the input vector is a non-target. If the input vector is not determined to be a non-target during the successive projection and thresholding, the input vector is classified as a target.

TECHNICAL FIELD

The invention relates generally to systems and methods for assigning input patterns into one of two classes and more particularly to a system and a method for classifying input patterns based on a linear classification.

DESCRIPTION OF THE RELATED ART

Pattern classification has drawn increasing attention in recent years, due to its application in a number of technological areas, such as acoustic signal processing and image processing. The objective in pattern classification is to separate input patterns into two classes, a target class and a non-target class. For example, for face detection in images, vectors (blocks of pixels) are extracted from an image and each vector is examined to determine whether it contains an image of a human face (target class) or not (non-target class). Another example is the detection of a specific sound, e.g., a piano sound, in an arbitrary sound signal stream. In this case, the components of the sound signal stream are classified into the specific sound class (target class) or background class (non-target class).

Various types of pattern classifiers are known in the art. Most pattern classifiers are configured to discriminate between the two classes by “learning” from two training sets, {circumflex over (X)}={x_(i)}_(i=1 . . . Lx) (target samples) and Ŷ={y_(i)}_(i=1 . . . Ly) (non-target samples). Such classifiers are known as example-based classifiers. The simplest and computationally fastest type of pattern classifier is a linear classifier C(z), where the classifying operation is based on a mathematical projection followed by a thresholding. For a given input pattern, i.e., a vector z, the projection of z is performed onto a projection vector u and, thus, C(z)=f(u^(T)z), where f(*) is a thresholding operation or some other decision rule.

Various types of pattern classifiers are known in the art. Most pattern classifiers are configured to discriminate between the two classes by “learning” from two training sets, {circumflex over (X)}={x_(i)}_(i=1 . . . Lx) (target samples) and Ŷ={y_(i)}_(i=1 . . . Ly) (non-target samples). Such classifiers are known as example-based classifiers. The simplest and computationally fastest type of pattern classifier is a linear classifier C(z), where the classifying operation is based on a mathematical projection followed by a thresholding. For a given input pattern, i.e., a vector z, the projection of z is performed onto a projection vector u and, thus, C(z)=f(u^(t)z), where f(*) is a thresholding operation or some other decision rule and where U^(T) is the related transpose.

Therefore, what is needed is a system and a method for efficiently and accurately classifying input patterns into two classes, even in cases where the configuration of the two classes is complex and cannot be separated by a linear hyper-plane.

SUMMARY OF THE INVENTION

A system and a method for classifying input vectors into one of two classes, a target class and a non-target class, utilize iterative rejection stages to first label the input vectors that belong in the non-target class in order to identify the remaining non-labeled input vectors as belonging in the target class. Each iterative rejection stage involves a linear projection of an input vector that is followed by a thresholding to determine whether that input vector belongs in the non-target class. The system and method may be used in a number of applications, such as face detection, where the members of the two classes can be represented in a vector form. In a face detecting application, the system operates to determine whether an input vector, representing a block of image pixels, contains a picture of a human face.

The operation of the system can be divided into an off-line (training) procedure and an on-line (actual classification) procedure. During the off-line procedure, a training module of the system computes the projection vectors and their corresponding threshold values that will be used during the on-line procedure. During the on-line procedure, the projection vectors and the threshold values are utilized by a pattern classifier of the system to execute the iterative rejection stages to determine if an input vector should be labeled as a non-target. After all the iterative rejection stages are executed, the input vector is identified as a target, if it had not been previously labeled as a non-target.

An off-line method of computing the projection vectors and their corresponding threshold values in accordance with the invention begins when a training set of vectors, including sample targets and sample non-targets, is received by the training module of the system. Mean-variance pairs for the sample targets and the sample non-targets are then computed by the mean-variance pair calculator of the training module. Using a proximity measure approach, a first projection vector is calculated by the projection vector calculator of the training module. Preferably, the first projection vector facilitates a positive identification of a large portion of the sample non-targets. In particular, the first projection vector is chosen such that projection values of many sample non-targets fall outside a target-containing interval, i.e., an interval of projection values that contains the projection values of all the sample targets when projected onto the first projection vector.

Next, a pair of threshold values is chosen for the first projection vector by the threshold setter of the training module. The pair of threshold values defines the upper and lower limits of the target-containing interval. The threshold values are chosen to include the smallest and the largest projection values of the sample targets. The separation between the two threshold values may include the separation between the smallest and the largest projection values of the sample targets, as well as a safety margin. The safety margin may be some percentage of the separation between the smallest and the largest projection values of the sample targets, e.g., five percent, to reduce the risk of erroneous non-target classification. After the pair of threshold values has been set, the sample non-targets having projection values that fall outside of the target-containing interval defined by the two threshold values are removed from the training set. The result is a reduced training set that contains fewer sample non-targets.

Using the reduced training set, a new mean-variance pair for the remaining sample non-targets is then computed by the mean-variance pair calculator. Next, a second projection vector and its corresponding pair of threshold values are calculated by the projection vector calculator and the threshold setter, respectively, in the same manner in which the first projection vector and its corresponding pair of threshold values were derived. This process is repeated until all the sample non-targets have been removed from the training set. The end product of the off-line procedure is a number of projection vectors and their corresponding threshold values that can be utilized during an on-line procedure to classify unknown input vectors into one of the two classes.

An on-line method of classifying input vectors into one of the two classes is primarily executed by the pattern classifier of the system. The method begins at a step in which the input vectors, as well as the computed projection vectors and their corresponding threshold values, are received by the pattern classifier. For each input vector, successive rejection stages are performed by the linear projection unit and the threshold module of the pattern classifier. During each stage, an input vector is linearly projected using one of the projection vectors computed during the off-line procedure to derive a projection value. The projection value is then compared to corresponding pair of threshold values. If the projection value falls outside the target-containing interval defined by the threshold values, the input vector is labeled as a non-target. After the successive rejection stages, the input vector is identified as a target, if the input vector has not been previously labeled as a non-target. In this manner, all of the input vectors are classified as either non-targets or targets.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an approximated invariant method (AIM) system, including its components, in accordance with the present invention.

FIG. 2 is an exemplary illustration for the construction of the intervals C_(t), C_(c) and C_(u) in accordance with the invention.

FIG. 3 illustrates the first rejection stage at which many Clutters are rejected using a first projection vector in accordance with the invention.

FIG. 4 illustrates the second rejection stage at which additional Clutters are rejected using a second projection vector in accordance with the invention.

FIG. 5 is a block diagram of a training module in the AIM system of FIG. 1, including its components, in accordance with the invention.

FIG. 6 is a flow diagram of an off-line method of computing projection vectors and their corresponding threshold values in accordance with the invention.

FIG. 7 is a block diagram of a pattern classifier in the AIM system of FIG. 1, including its components, in accordance with the invention.

FIG. 8 is a flow diagram of an on-line method of classifying input vectors into one of two classes, a Target class and a Clutter class, in accordance with the invention.

DETAILED DESCRIPTION

With reference to FIG. 1, an approximated invariant method (AIM) system having a pattern classifier 12, a training module 14, a processing unit 16, memory 18, a user interface device 20, and an output device 22 is shown. The AIM system operates to classify input vectors within a signal stream into one of two classes, a Target class and a non-Target (“Clutter”) class. The AIM system may be used in a number of applications, such as face detection, where the members of the two classes can be represented in a vector form. In a face detecting application, the input vectors represent blocks of pixels from an image that may or may not contain a picture of a human face. In this application, the AIM system operates to discriminate between the two possibilities.

A mathematical description for the overall operation of the AIM system will be first described. The classification problem can be defined as follows: Given two classes X (Target class) and Y (Clutter class) in , a point z drawn from one of these classes needs to be labeled correctly as either a Target or a Clutter. An important observation is that it is known a priori that for a typical input stream, the vast majority of the inputs are in Clutters, i.e.:

P{X}<<P{Y}.  (1)

Based on this knowledge, the Clutter labeling should be made fast, even at the expense of a slow Target labeling, to yield a fast output, i.e., the determination of whether the input point z is a Target or a Clutter, with as few operations as possible.

Similar to other linear classifiers, the fundamental approach utilized by the AIM system 10 to label the point z as either a Target or a Clutter is to project the point z onto a projection vector u and then label the point z based on the projected value α=u^(T)z. Projecting the Target class onto the projection vector u results in a Probability Density Function (PDF) P{α|X}, or the “Target PDF”, defined as:

 P{α|X}=∫_(a) _(^(n)) P{z|X}δ(u^(T)z−α)dz,  (2)

where δ(x) is the Dirac's function. The term P{α|X} defines the probability that a given input drawn from the Target class will have the value α after it has been projected onto the projection vector u. Similarly, projecting the Clutter class onto the projection vector u results in a PDF P{α|Y}, or the “Clutter PDF”, defined as:

P{α|Y}=∫_(a) _(^(n)) P{z|Y}δ(u^(T)z−α)dz.  (3)

The following intervals are based on P{α|X} and P{α|Y}:

C_(t)={α|P{α|X}>0, P{α|Y}=0}

C_(c)={α|P{α|X}=0, P{α|Y}>0}

C_(u)={α|P{α|X}>0, P{α|Y}>0},  (4)

where t=Target, c=Clutter and u=Unknown. After the projection, z is labeled either as a Target, Clutter or Unknown based on the following decision rule: $\begin{matrix} {{{Classifier}\left\{ z \right\}} = \left\{ \begin{matrix} {Target} & {{u^{T}z} \in \quad C_{t}} \\ {Clutter} & {{u^{T}z} \in C_{c}} \\ {Unknown} & {{u^{T}z} \in C_{u}} \end{matrix} \right.} & (5) \end{matrix}$

The Unknown classifications are obtained only in the C_(u) interval, where a definite decision cannot be made. FIG. 2 illustrates an example for the construction of the intervals C_(t), C_(c) and C_(u) and their appropriate decisions. In FIG. 2, a Target PDF 24 and two Clutter PDFs 26 and 28 are shown, super-imposed. The overlapping zones between the two types of PDFs define the Unknown regions C_(u), in which definite decisions cannot be made.

The probability of the Unknown decision is given by:

P{Unknown}=∫_(αεC) _(u) [P{Y}P{α|Y}+P{X}P{α|X}]dα.  (6)

The equation (6) is a function of the projection vector u. It is desirable to find the vector u that minimizes the Unknown probability. However, it turns out that this problem is difficult to solve directly, even for simplified cases. Thus, some heuristics need to be applied. An alternative approach is to use a proximity measure.

If P{α|X} and P{α|Y} are far apart and separated from each other, P{Unknown} will be small. Therefore, the alternative approach is to minimize the overlap between these two types of PDFs. This approach will be defined using the following expected distance between a point α₀ and a distribution P{α}: $\begin{matrix} {{{D\left( {\alpha_{0}{}P\left\{ \alpha \right\}} \right)} = {\int_{\alpha}{\frac{\left( {\alpha_{0} - \alpha} \right)^{2}P\left\{ \alpha \right\}}{\sigma^{2}}{\alpha}}}},} & (7) \end{matrix}$

where τ is the variance of P{α} and the division by τ is performed to make the distance scale-invariant (or unit-invariant). Calculating the integral in the equation (7), it is easy to verify that: $\begin{matrix} {{D\left( {\alpha_{0}{}P\left\{ \alpha \right\}} \right)} = \frac{\left( {\alpha_{0} - \mu} \right)^{2} + \sigma^{2}}{\sigma^{2}}} & (8) \end{matrix}$

where μ is the mean of P{α}. Using this distance definition, the distance of P{α|X} from P{α|Y} can be defined as the expected distance of (α|Y} from P{α|X} and expressed as: $\begin{matrix} \begin{matrix} {{D\left( {P\left\{ {\alpha \left. Y \right\}} \right.\left. {P\left\{ \alpha  \right.X} \right\}} \right)} = {\int_{\alpha}{{D\left( {\alpha {}P\left\{ \alpha \middle| X \right\}} \right)}P\left\{ \alpha \middle| Y \right\} {\alpha}}}} \\ {= {\int_{\alpha}{\frac{\left( {\alpha - \mu^{x}} \right)^{2} + \sigma_{x}^{2}}{\sigma_{x}^{2}}P\left\{ \alpha \middle| Y \right\} {\alpha}}}} \\ {{= \frac{\left( {\mu_{y} - \mu_{x}} \right)^{2} + \sigma_{x}^{2} + \sigma_{y}^{2}}{\sigma_{x}^{2}}},} \end{matrix} & (9) \end{matrix}$

where [μ_(x), τ_(x)] and [μ_(y), τ_(y)] are the mean-variance pairs of P{α|X} and P{α|Y}, respectively. Since the two distributions should have as small an overlap as possible, it is desirable to maximize this distance or minimize the proximity between P{α|X} and P{α|Y}, which can be defined as the inverse of their mutual distance. Note that this measure is asymmetric with respect to the two distributions. The proximity between P{α|X} and P{α|Y} defines the closeness of P{α|Y} to P{α|X}, but not vice versa. Therefore, the overall proximity between the two distribution is defined as follows: $\begin{matrix} {{{Prox}\left( {{P\left\{ \alpha \middle| Y \right\}},{P\left\{ \alpha \middle| X \right\}}} \right)} = {{P\left\{ X \right\} \frac{\sigma_{y}^{2}}{\sigma_{x}^{2} + \sigma_{y}^{2} + \left( {\mu_{y} - \mu_{x}} \right)^{2}}} + {P\left\{ Y \right\} {\frac{\sigma_{x}^{2}}{\sigma_{x}^{2} + \sigma_{y}^{2} + \left( {\mu_{y} - \mu_{x}} \right)^{2}}.}}}} & (10) \end{matrix}$

Compared to the original expression in Equation (6), the minimization of this term with respect to μ is easier. If P{X}=P{Y}, i.e., if there is an even chance to get Target or Clutter inputs, the proximity becomes: $\begin{matrix} {{{Prox}\left( {{P\left\{ \alpha \middle| Y \right\}},{P\left\{ \alpha \middle| X \right\}}} \right)} = {\frac{\sigma_{x}^{2} + \sigma_{y}^{2}}{\sigma_{x}^{2} + \sigma_{y}^{2} + \left( {\mu_{y} - \mu_{x}} \right)^{2}}.}} & (11) \end{matrix}$

This is the cost function minimized by the Fisher Linear Discriminant (FLD). Specifically, the inverse of the equation (11) is minimized by the FLD. An alternative approach would have been to use an overall distance instead, resulting with the expression $\begin{matrix} {{\frac{\left( {\mu_{y} - \mu_{x}} \right)^{2} + \sigma_{x}^{2} + \sigma_{y}^{2}}{\sigma_{x}^{2}} + \frac{\left( {\mu_{y} - \mu_{x}} \right)^{2} + \sigma_{x}^{2} + \sigma_{y}^{2}}{\sigma_{y}^{2}}},} & (12) \end{matrix}$

for P{X}=P{Y}. However, this expression is more difficult to minimize, as compared to the FLD.

However, when P{X}<<P{Y} (Eq. 1), the first term of equation (10) is negligible and can be omitted. Therefore, the preferred u should minimize the resulting term: $\begin{matrix} {{{d(u)} = \frac{\sigma_{x}^{2}}{\left. {\sigma_{x}^{2} + \sigma_{y}^{2} + \left( {\mu_{y} - \mu_{x}} \right)^{2}} \right)}},} & (13) \end{matrix}$

where τ² _(y), τ² _(x), μ_(y) and μ_(x) are all function of u.

Note again that d(u) is asymmetric, and its minimization is equivalent to the maximization of equation (9). This means that most Clutter samples must be distant from the Target class, but the opposite is not necessarily required. A given Target sample can be close to some of the Clutters. This implies that most of the Clutters will be projected onto C_(c), while C_(t) might even be an empty set. After projection, many of the Clutter inputs are usually classified, whereas Target labeling may not be immediately possible. In fact, this serves the intended objective because for a Clutter input, there is a high probability that a decision will be made. Since Clutter inputs are more frequent, this means a faster decision for the vast majority of the inputs.

Minimization of equation (13) usually results with a small τ_(x) and a large τ_(y). This means that projection of Target inputs tends to concentrate near a constant value, whereas the Clutter inputs will spread with a large variance. Therefore, the projection onto the projection vector u stands as an approximated invariant for the Target class.

In order to find the preferred projection vector u, the τ² _(y), τ² _(x), μ_(y) and μ_(x) must be expressed as function of u. $\begin{matrix} {\begin{matrix} {\mu_{x} = \quad {{\int_{\alpha}{\alpha \quad P\left\{ \alpha \middle| X \right\} {\alpha}}} = {\int_{\alpha}{\int_{z}{\alpha \quad P\left\{ z \middle| X \right\} {\delta \left( {{u^{T}z} - \alpha} \right)}{z}{\alpha}}}}}} \\ {= \quad {\int_{z}{P{\left\{ z \middle| X \right\} \left\lbrack {\int_{\alpha}{{{\alpha\delta}\left( {{u^{T}z} - \alpha} \right)}{\alpha}}} \right\rbrack}{z}}}} \\ {= \quad {{u^{T}{\int_{z}{{zP}\left\{ z \middle| X \right\} {z}}}} = {u^{T}M_{x}}}} \end{matrix}{and}\begin{matrix} {\sigma_{x}^{2} = \quad {{\int_{\alpha}{\left( {\alpha - \mu_{x}} \right)^{2}P\left\{ \alpha \middle| X \right\} {\alpha}}} = {\int_{\alpha}{\left( {\alpha^{2} - {2{\alpha\mu}_{x}} + \mu_{x}^{2}} \right)P\left\{ \alpha \middle| X \right\} {\alpha}}}}} \\ {= \quad {{\int_{\alpha}{\alpha^{2}P\left\{ \alpha \middle| X \right\} {\alpha}}} - {2\mu_{x}{\int_{\alpha}{\alpha \quad P\left\{ \alpha \middle| X \right\} {\alpha}}}} + \mu_{x}^{2}}} \\ {= \quad {{\int_{\alpha}{\alpha^{2}P\left\{ \alpha \middle| X \right\} {\alpha}}} - {u^{T}M_{x}M_{x}^{T}u}}} \\ {= \quad {{{u^{T}\left\lbrack {\int_{z}{{zz}^{T}P\left\{ z \middle| X \right\} {z}}} \right\rbrack}u} - {u^{T}M_{x}M_{x}^{T}u}}} \\ {= \quad {{u^{T}\left\lbrack {\int_{z}{\left( {z - M_{x}} \right)\left( {z - M_{x}} \right)^{T}{z}}} \right\rbrack}u}} \\ {= \quad {u^{T}R_{xx}u}} \end{matrix}} & (14) \end{matrix}$

and similarly,

μ_(y)=u^(T)M_(y)

τ² _(y)=u^(T)R_(yy)u.

Therefore,

μ_(x)=u^(T)M_(x) and τ² _(x)=u^(T)R_(xx)u  (15)

and

μ_(y)=u^(T)M_(y) and τ² _(y)=u^(T)R_(yy)u,  (16)

where it is defined that

M_(x)=∫_(a) _(^(n)) zP{z|X}dz R_(xx)=∫_(a) _(^(n)) (z−M_(x))(z−M_(x))^(T)P{z|X}dz

M_(y)=∫_(a) _(^(n)) zP{z|Y}dz R_(yy)=∫_(a) _(^(n)) (z−M_(y))(z−M_(y))^(T)P{z|Y}dz.  (17)

As can be seen from the above equations (15) and (16), only the first and second moments of the classes play a role in the choice of the projection vector u. The function that is to be minimized is therefore: $\begin{matrix} \begin{matrix} {{d(u)} = \frac{\sigma_{x}^{2}}{\sigma_{x}^{2} + \sigma_{y}^{2} + \left( {\mu_{y} - M_{x}} \right)^{2}}} \\ {= {\frac{u^{T}R_{xx}u}{{u^{T}\left\lbrack {R_{xx} + R_{yy} + {\left( {M_{y} - M_{x}} \right)\left( {M_{y} - M_{x}} \right)^{T}}} \right\rbrack}u}.}} \end{matrix} & (18) \end{matrix}$

The u that minimizes the equation (18) satisfies the equation

R_(xx)u=λ[R_(xx)+R_(yy)+(M_(y)−M_(x))(M_(y)−M_(x))^(T)]u  (19)

and should correspond to the smallest possible λ. A problem of the form Au=λBu, as in equation (19), is known as the generalized eigen-value problem and can be easily solved. Notice that given any solution u for this equation, bu is also a solution with the same λ, where b is any scalar. Therefore, without loss of generality, normalized solution ||u||=1 is used.

After finding the preferred projection vector u, the intervals C_(t), C_(c) and C_(u) are determined according to equation (4). An input z is labeled as a Target or Clutter, if its projected value u^(T)z is in the interval C_(t) or the interval C_(c), respectively. FIG. 3 presents this first rejection stage for the case where the interval C_(t) is empty, i.e., there are no inputs which can be classified as a Target. In FIG. 3, the Clutters and Targets 32 are shown in two-dimensional space. For illustrative purposes, Target PDF 34 and Clutter PDF 36 for the Clutters and Targets are also shown. Note that the preferred projection vector 38 was chosen such that many of the Clutters are rejected, which are identified in FIG. 3 as rejected Clutters 40. The thresholds are chosen such that erroneous rejection of Targets is not possible for the given Targets.

Input vectors having projected values within in the interval C_(u) are not labeled. For these inputs another step of classification is applied, where the design of the preferred projection vector in this step is performed according to the following new distributions:

P{α|Y & α₁εC_(u)} and P{α|X & α₁εC_(u)},  (20)

where u₁ is the first projection vector and α₁=u^(T) ₁z. The next projection vector u₂ is defined as the vector which minimizes the following proximity measure:

Prox(P{α|Y & α₁εC_(u)}, P{α|X & α₁εC_(u)}).  (21)

This minimization is performed in the same manner as explained for the first rejection stage. FIG. 4 illustrates the second rejection stage, after the application of the first stage, shown in FIG. 3. During the second rejection stage, the next projection vector 42 is chosen such that large portions 46 of the remaining Clutters 44 are rejected. In FIG. 3, the Clutters that were rejected during the first rejection stage are shown in phantom. Again, corresponding thresholds are chosen such that erroneous rejection of Targets 32 is not possible for the given Targets. In FIG. 4, new Clutter PDF 48 and new Target PDF 50 for the remaining Clutters and Targets are also shown.

After the second rejection stage, the process can continue with projection vectors u₃, u₄, . . . , etc. Due to the high rejection rate of the projection vectors for a given set of Clutters, it is expected that a large portion of the Clutter input vectors will be labeled as Clutters at each rejection stage, such that the remaining Clutter input vectors are labeled by subsequent projection vectors. Such an iterative process ensures a good performance of the classification with respect to an accurate labeling and a fast classification rate.

In practice, the probabilities P{α|X} and P{α|Y} are not known and the inference on the Target or Clutter class is achieved through examples. Two example sets are collected and denoted as {circumflex over (X)}={x_(k)}_(k=1) ^(Lx) and Ŷ={y_(k)}_(k=1) ^(Ly). It is assumed that these two collected sets are sufficiently large to be considered as good representations of the actual classes X and Y. First, an alternative definition of the function to be minimized is found, expressed in terms of the training sets. Replacing the mean-covariance pairs, M_(x), R_(xx), M_(y) and R_(yy), with empirical approximations, the mean-covariance pairs can be expressed as: $\begin{matrix} {{{\hat{M}}_{x} = {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad x_{k}}}}{{\hat{R}}_{xx} = {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad {\left( {x_{k} - {\hat{M}}_{x}} \right)\left( {x_{k} - {\hat{M}}_{x}} \right)^{T}}}}}} & (22) \\ {and} & \quad \\ {{{\hat{M}}_{y} = {\frac{1}{L_{y}}{\sum\limits_{k = 1}^{L_{y}}\quad y_{k}}}}{{\hat{R}}_{yy} = {\frac{1}{L_{y}}{\sum\limits_{k = 1}^{L_{y}}\quad {\left( {y_{k} - {\hat{M}}_{y}} \right){\left( {y_{k} - {\hat{M}}_{y}} \right)^{T}.}}}}}} & (23) \end{matrix}$

Substituting the empirical approximations into equation (18) results in the empirical proximity: $\begin{matrix} {{\hat{d}(u)} = {\frac{u{{}_{}^{}\left. R \right.\hat{}_{}^{}}u}{{u^{T}\left\lbrack {{\hat{R}}_{xx} + {\hat{R}}_{yy} + {\left( {{\hat{M}}_{y} - {\hat{M}}_{x}} \right)\left( {{\hat{M}}_{y} - {\hat{M}}_{x}} \right)^{T}}} \right\rbrack}u}.}} & (24) \end{matrix}$

As previously described, the desired projection vector u is computed by a generalized eigen-value routine.

Since the class probabilities have been exchanged with sets of points, it is impractical to define the intervals C_(t), C_(c) and C_(u) using equation (4). This is because the intervals will be composed of many fragments, each of which results from a particular example. Moreover, the domain of a cannot be covered by a finite set of examples. Thus, it is more natural to define for each set, two thresholds bounding its projection values. Due to the function that is being minimized, in most cases, the Target thresholds define a small interval located inside the Clutter interval (see FIG. 3). Therefore, for simplicity, a single interval, ┌=[T₁, T₂], which is bounding the Target set, is defined. Using the defined interval ┌, points that are projected outside the interval ┌ are classified as Clutter and points that are projected inside the interval ┌ are classified as Unknown.

Turning back to FIG. 1, the components of the AIM system 10 operate to compute the preferred projection vectors and their corresponding pairs of threshold values, i.e., two threshold values for each computed projection vector, and then to utilize the computed vectors and the threshold values to determine whether each vector within an input signal belongs to the Target class or the Clutter class. The operation of the AIM system can be divided into an off-line (training) procedure and an on-line (actual classification) procedure. During the off-line procedure, the projection vectors and their corresponding pairs of threshold values that will be used during the on-line procedure are computed. During the on-line procedure, an input vector is projected onto each projection vector and the derived projection value is thresholded using its corresponding pair of threshold values to determine whether the input vector belongs in the Clutter class in an iterative manner. If the input vector is not labeled as belonging in the Clutter class for every projection vector, the input vector is identified as belonging in the Target class. Although the AIM system is described as utilizing only two thresholds for each computed projection vector, the AIM system may utilize more than two thresholds for each computed projection vector.

If more than two thresholds are utilized by the AIM system 10, the target and non-target classes are separated, during the training procedure, into several sub-intervals in accordance with their projection values, and training proceeds for each of these sub-intervals separately. The on-line procedure using more than two thresholds simply requires that after each projection, the projected value is compared to the existing thresholds, and further treatment will depend on the sub-interval into which the projected value fell.

An off-line method of computing the projection vectors and their corresponding intervals in accordance with the invention is illustrated by a flow diagram, shown in FIG. 6. The off-line method is primarily executed by the training module 14 of the AIM system 10. Therefore, the off-line method will be described with reference to the components of the training module, which is shown in FIG. 5. The training module includes a mean-variance pair calculator 52, a projection vector calculator 54 and a threshold setter 56.

With reference to FIG. 6, the off-line method begins at step 58, in which a training set of vectors, including a Target sample subset {circumflex over (X)} and a Clutter sample subset Ŷ, is received by the mean-variance pair calculator 52 of the training module 14. The vectors may be digitized representations of images, such as blocks of pixels, or of sounds. Using equation (22), {circumflex over (M)}_(x) and {circumflex over (R)}_(xx) for {circumflex over (X)} are then computed by the mean-variance pair calculator, at step 60. Next, at step 62, the variable k is set to one. At step 64, {circumflex over (M)}^(k) _(y) and {circumflex over (R)}^(k) _(yy) for Ŷ^(k) are computed by the mean-variance pair calculator, using equation (23). The projection vector u_(k) is then calculated by the projection vector calculator 54, at step 66. The projection vector u_(k) is the vector that minimizes the equation (24). After the calculation of the projection vector U_(k), threshold values T^(k) ₁ and T^(k) ₂ that define the corresponding interval ┌^(k) for the current projection vector u^(k) are determined by the threshold setter 56, at step 68. During this step, T^(k) ₁ is set to min_(x) _(i) _(ε{circumflex over (X)})(u^(T) _(k)x_(i))−Δ/2, while the T^(k) ₂ is set to max_(x) _(i) _(ε{circumflex over (X)})(u^(T) _(k)x_(i))+Δ/2. The term Δ/2 in the T^(k) ₁ and T^(k) ₂ includes a safety margin in the interval ┌^(k). The Δ can be 5% of the actual interval for the Target set, i.e., [min_(x) _(i) _(ε{circumflex over (X)})(u^(T) _(k)x_(i)), max_(x) _(i) _(ε{circumflex over (X)})(u^(T) _(k)x_(i))], for the current projection vector u_(k), or any other reasonable value.

After the projection vector u_(k) and its corresponding threshold values T^(k) ₁ and T^(k) ₂ have been determined, the Clutter sample vectors having projection values outside the interval ┌^(k) are discarded, while the Clutter sample vectors having projection values within the interval ┌_(k) are kept for further processing. Therefore, at step 70, the Clutter set Ŷ_(k+1) is defined as including Clutter sample values that are within the interval ┌^(k). Next, at step 72, the variable k is set to k+1. At step 74, a determination is made whether |Ŷ_(k)| is greater than zero, where |Ŷ_(k)| is the number of Clutter sample vectors remaining in Ŷ_(k). If |Ŷ_(k)| is greater than zero, the method proceeds back to step 64. If |Ŷ_(k)| is equal to zero, the off-line method comes to an end.

In an alternative embodiment, the values {circumflex over (M)}_(x), {circumflex over (R)}_(xx), {circumflex over (M)}_(y) and {circumflex over (R)}_(yy) are modified in accordance to a regularization scheme. The modification of these values solves two potential problems that may be encountered when attempting to solve the generalized eigen-value problem, as shown in equation (19). The first problem is purely numerical. The matrix {circumflex over (R)}_(yy) may become singular after several rejection stages, when few Clutters remain. The second problem involves an over-fitting problem associated with insufficient samples in the training set of Clutter samples and Target samples. An over-fitting problem results in a classifier that operates well on the example sets, but not on the actual unknown input vectors.

The regularization scheme involves taking two given example-sets, {circumflex over (X)}={x_(k)}_(k=1) ^(L) ^(_(x)) and Y={y_(k)}_(k=1) ^(L) ^(_(x)) , and enriching these two sets in the following manner, thereby solving the over-fitting problem, as well as the numerical stability problem. For any Target point x_(k), it is assumed that all the points z within its neighborhood are also Targets. More formally, defining the neighborhood by a sphere, it is assumed that for a predefined radius δ, all z satisfying ||z−x_(k)||≦δ are Targets as well. In this fashion, the finite set {circumflex over (X)}={x_(k)}_(k=1) ^(L) ^(_(x)) are replaced with a new richer set of points, which contains infinite number of Targets, {circumflex over (X)}_(reg) (the subscript reg stands for regularization). In a similar manner, the Clutter set is also enriched, and Ŷ_(reg) is obtained. The quality of this solution depends on the validity of the assumption that δ neighborhood contains a similar class points, and consequently, the predefined radius δ should be carefully chosen to ensure that δ is not too large. Adopting a different point of view for the above scheme, an assumption is made that when adding zero mean white Gaussian noise with moderate variance δ² to the points {circumflex over (X)}={x_(k)}_(k=1) ^(L) ^(_(x)) , their classification does not change. Thus, if x_(k) is a Target, so are all the realizations of x_(k)+v_(k), where v_(k) is a multi-variate Gaussian noise with zero mean and δ²l covariance matrix. (V_(k)˜N(0, δ²l)). Similarly, such noise can be used to enrich the Clutter set as well.

The first and second moments for the regularized sets, {circumflex over (X)}_(reg) and Ŷ_(reg), can be computed by exploiting the statistical representation of the regularization process, where the neighborhood of each given point is regarded as additive noise with a known variance. Looking at the regularized Pattern set, it can be referred to as an finite mixture of multi-dimensional (dimension n) Gaussians. These Gaussians are the following: $\begin{matrix} {{{Prob}\left\{ z \middle| X_{reg} \right\}} = {\frac{1}{Const}{\sum\limits_{k = 1}^{k = L_{x}}\quad {G_{\{{x_{k},{\delta^{2}l}}\}}(z)}}}} & (25) \end{matrix}$

where: ${G_{\{{M,{\delta^{2}l}}\}}(z)} = {\frac{1}{\left( {2{\pi\delta}^{2}} \right)^{n/2}}\exp {\left\{ {- \frac{{{}z} - {M{}^{2}}}{2\delta^{2}}} \right\}.}}$

The constant is a normalization factor that ensures that the above probability function sums into 1. Its value is given by: $\begin{matrix} {{Const} = {{\int_{z \in \Re^{n}}{\sum\limits_{k = 1}^{L_{x}}\quad {\frac{1}{\left( {2{\pi\delta}^{2}} \right)^{n/2}}\exp \left\{ \frac{{{- {}}z} - {x_{k}{}^{2}}}{2\delta^{2}} \right\} {z}}}} = L_{x}}} & (26) \end{matrix}$

and similarly: $\begin{matrix} {{{Prob}\left\{ z \middle| Y_{reg} \right\}} = {\frac{1}{L_{y}}{\sum\limits_{k = 1}^{k = L_{y}}\quad {{G_{\{{y_{k},{\delta^{2}l}}\}}(z)}.}}}} & (27) \end{matrix}$

The first moment (the mean) of the regularized Pattern set is given by: $\begin{matrix} \begin{matrix} {{\hat{M}}_{x}^{reg} = {E\left\{ z \middle| X_{reg} \right\}}} \\ {= {\int_{z \in \Re^{n}}{{z \cdot {Prob}}\left\{ z \middle| X_{reg} \right\} {z}}}} \\ {= {\int_{z \in \Re^{n}}{{z \cdot \left\{ {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad {\frac{1}{\left( {2{\pi\delta}^{2}} \right)^{n/2}}\exp \left\{ \frac{{{- {}}z} - {x_{k}{}^{2}}}{2\delta^{2}} \right\}}}} \right\}}{z}}}} \\ {= {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad x_{k}}}} \\ {= {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad x_{k}}}} \\ {= {\hat{M}}_{x}} \end{matrix} & (28) \end{matrix}$

where {circumflex over (M)}_(x) is the first moment of {circumflex over (X)}, the original set before regularization. Similarly for the regularized Non-Pattern set, {circumflex over (M)}_(y) ^(reg)={circumflex over (M)}_(y).

The second moment for the regularized Pattern set is computed through: $\begin{matrix} \begin{matrix} {{\hat{R}}_{xx}^{reg} = \quad {E\left\{ {\left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack \left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack}^{T} \middle| X_{reg} \right\}}} \\ {= \quad {\int_{z \in \Re^{n}}{{{\left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack \left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack}^{T} \cdot {Prob}}\left\{ z \middle| X_{reg} \right\} {z}}}} \\ {= \quad {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad {\int_{z \in \Re^{n}}{{\left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack \left\lbrack {z - {\hat{M}}_{x}^{reg}} \right\rbrack}^{T}\frac{1}{\left( {2{\pi\delta}^{2}} \right)^{n/2}}\exp \left\{ \frac{{{- {}}z} - {x_{k}{}^{2}}}{2\delta^{2}} \right\} {z}}}}}} \\ {= \quad {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\left\lbrack {{\delta^{2}l} + {x_{k}x_{k}^{T}} - {x_{k}\left( {\hat{M}}_{x}^{reg} \right)}^{T} - {{\hat{M}}_{x}^{reg}x_{k}^{T}} + {{\hat{M}}_{x}^{reg}\left( {\hat{M}}_{x}^{reg} \right)}^{T}} \right\rbrack}}} \\ {= \quad {{\delta^{2}l} + {\frac{1}{L_{x}}{\sum\limits_{k = 1}^{L_{x}}\quad {\left\lbrack {x_{k} - {\hat{M}}_{x}^{reg}} \right\rbrack \left\lbrack {x_{k} - {\hat{M}}_{x}^{reg}} \right\rbrack}^{T}}}}} \\ {= \quad {{\delta^{2}l} + {\hat{R}}_{xx}}} \end{matrix} & (29) \end{matrix}$

and therefore, {circumflex over (R)}_(xx) ^(reg)δ²l+{circumflex over (R)}_(xx). Similarly, the Non-Pattern second moment is give by {circumflex over (R)}_(yy) ^(reg)=δ²l+{circumflex over (R)}_(yy).

Thus, the following regularized first and second moments are derived.

{circumflex over (M)}_(y) ^(reg)={circumflex over (M)}_(y) {circumflex over (R)}_(xx) ^(reg)δ²l+{circumflex over (R)}_(xx)

{circumflex over (M)}_(y) ^(reg)={circumflex over (M)}_(y). {circumflex over (R)}_(yy) ^(reg)=δ²l+{circumflex over (R)}_(yy)  (30)

where {circumflex over (M)}_(x), {circumflex over (R)}_(xx), {circumflex over (M)}_(y), and {circumflex over (R)}_(yy) are the mean-covariance pairs of the original sets before modification. Note that the means do not change, but the covariance matrices become well-posed because of the addition of the identity matrix that is multiplied by δ². Also note that the two sets need not be treated similarly with regularization. In cases where the Target set contains enough examples, only the Clutter set can be regularized. In such cases, the parameter δ can be determined, for example, by finding the nearest neighbor Of Y_(k) in the Target set, for each y_(k), and choosing δ to be half of the smallest distance found for all kε[1, L_(y)].

The extracted projection vectors and their corresponding threshold values are stored in the memory 18 of the system 10, until needed for the on-line procedure. An on-line method of classifying input vectors into one of the two classes in accordance with the invention is illustrated by a flow diagram, shown in FIG. 8. The on-line method is primarily executed by the pattern classifier 12 of the AIM system 10. Therefore, the on-line method will be described with reference to the components of the pattern classifier, which is shown in FIG. 7. The pattern classifier includes a linear projection unit 76, a thresholding module 78, and a decision module 80.

With reference to FIG. 8, the on-line method begins at step 82, in which a set of input vectors Z₁={z_(i)}^(n) _(i=1) are received by the linear projection unit 76 of the pattern classifier 12. The integer n represents the number of input vectors included in the set. In addition, the stored projection vectors {u_(k)}^(K) _(k=1) and their corresponding thresholds {[T^(k) ₁, T^(k) ₂]}^(K) _(k=1) are transmitted to the pattern classifier from the memory 18 by the processing unit 16 of the AIM system 10. The integer K represents the number of projection vectors that will be utilized to determine the classification of the input vectors. Again, depending on the application, each input vector can be a digitized, representation of images, such as blocks of pixels, or of sounds. At steps 84 and 86, the variables i and k are set to one. Next, at step 88, a projected value α is computed by the projection vector calculator 54, using the equation α=u^(T) _(k)z_(i). At step 90, a determination is made whether the projected value α is outside the interval ┌^(k) defined by the threshold values T^(k) ₁ and T^(k) ₂ that correspond to the projection vector u_(k). This determination is executed by the thresholding module 78. If step 90 is satisfied, the method proceeds to step 92, where the input vector z_(i) is labeled as Clutter. However, if step 90 is not satisfied and the projected value α is within the interval ┌^(k), the method proceeds to step 94. At step 94, the variable k is set to k+1.

After the input vector z_(i) has been analyzed using the projection vector u_(k) and its associated threshold values T^(k) ₁ and T^(k) ₂, a determination is made whether the variable k is greater than K, at step 96. If step 96 is not satisfied, the method proceeds back to step 88, in order to further analyze the input vector z_(i). If step 96 is satisfied, the method proceeds to step 98. During this step, the input vector z_(i) is labeled as Target by the decision module 80, if it has not been already labeled as Clutter at step 92. Next, at step 100, the variable i is set to i+1, so that the next input vector can be processed. At step 102, a determination is made whether i is greater than n. If step 102 is not satisfied, the method proceeds back to step 86, in order to process the next input vector. However, if step 102 is satisfied, the on-line method comes to an end. The result of the on-line method is that each input vector has been labeled as either a Target or Clutter.

The final determination of the input vectors may be displayed on the output device 22 of the AIM system in a desired format, depending on the parameter prescribed by an operator via the user interface device 20. As an example, in a face detecting application, the output displayed on the output device may be an image with highlighted blocks of pixels that correspond to the input vectors that have been labeled as Targets. 

What is claimed is:
 1. A method of classifying an input pattern into one of two classes, a low probability target class and a high probability non-target class, comprising steps of: receiving a training set of target patterns and non-target patterns, said target patterns being members of said low probability target class, said non-target patterns being members of said high probability non-target class; executing a training stage using said training set of said target patterns and said non-target patterns, including deriving a plurality of advantageous projection vectors from said training set, each of said projection vectors having a characteristic to yield a close-to-maximal rejection rate of said non-target class for a given set of said target patterns and said non-target patterns; applying a rejection-based sequence of said advantageous projection vectors on said input pattern for classification in said high probability non-target class, including progressing said input pattern through each stage of said rejection-based sequence unless said input pattern is classified at one of said stages as being in said high probability non-target class; and classifying said input pattern as being in said low probability target class if said input pattern progresses through each said stage.
 2. The method of claim 1 wherein said step of deriving said plurality of said advantageous projection vectors includes utilizing a proximity measure based on probability distributions of said target patterns and said non-target patterns.
 3. The method of claim 2 wherein said step of utilizing said proximity measure includes a step of minimizing said proximity measure, said proximity measure being an inverse of a mutual distance of said probability distributions.
 4. The method of claim 3 wherein said step of minimizing said proximity measure for a particular advantageous projection value (u) and the associated transpose (u^(T)) includes a step of minimizing an expression $\frac{u{{}_{}^{}{}_{}^{}}u}{{u^{T}\left\lbrack {R_{xx} + R_{yy} + {\left( {M_{y} - M_{x}} \right)\left( {M_{y} - M_{x}} \right)^{T}}} \right\rbrack}u},$

where M_(x) and R_(xx) are a mean-variance pair of said probability distribution of said target patterns and where M_(y) and R_(yy) are a mean-variance pair of said probability distribution of said non-target patterns.
 5. The method of claim 4 further comprising a step of regularizing said mean-variance pairs, M_(x), R_(xx), M_(y) and R_(yy).
 6. The method of claim 5 wherein said step of regularizing said mean-variance pairs includes regarding a neighborhood of each pattern of said target patterns and said non-target patterns, which is defined by a preselected parameter, as additive noise with a known variance.
 7. The method of claim 1 wherein said step of executing said training stage includes a step of selecting pairs of threshold values for said advantageous projection vectors, each pair of said threshold values being associated with a particular advantageous projection vector, each pair of said threshold values defining an upper limit and a lower limit of a corresponding target-containing interval.
 8. The method of claim 7 wherein said step of applying said rejection-based sequence of said advantageous projection vectors includes steps of: iteratively projecting said input pattern using said advantageous projection vectors, which results in a sequence of projection values; and thresholding each of said projection values with a selected pair of said threshold values for said classification.
 9. The method of claim 1 wherein said step of executing said training stage further includes a step of removing said non-target patterns from an input set of said non-target patterns that has a projection value that falls outside a target-containing interval for a particular advantageous projection vector, thereby defining a reduced set of said non-target patterns, said target-containing interval including projection values of said target pattern for said particular advantageous projection vector, said reduced set being said input set for a subsequent advantageous projection vector, said step of removing said non-target patterns being performed for each of said advantageous projection vectors.
 10. The method of claim 1 wherein said step of executing said training stage includes a step of selecting groups of threshold values for said advantageous projection vectors, each group of said threshold values containing n values being associated with a particular advantageous projection vector, each said group of said threshold values defining a group of (n−1) sub-intervals.
 11. The method of claim 10 wherein said step of applying said rejection-based sequence of said advantageous projection vectors includes steps of: iteratively projecting said input pattern using said advantageous projection vector, which results in a sequence of projection values; and thresholding each of said projection values with a selected group of said threshold values for said classification.
 12. The method of claim 10 wherein said step of executing said training stage further includes a step of removing said target and non-target patterns from the training sets for each sub-interval from said group of said (n−1) sub-intervals such that said target and non-target examples that fall outside said each sub-interval are removed, thereby defining a reduced set of said target and non-target patterns, said reduced sets being said input set for a subsequent advantageous projection vector.
 13. The method of claim 1 wherein said step of receiving said training set of target patterns and non-target patterns is a step of receiving said training set of target vectors and non-target vectors, each of said target vectors representing a block of image pixels that contains a picture of a human face, each of said non-target vectors representing a block of image pixels that does not contain said picture of said human face.
 14. A system for classifying an input pattern into one of two predetermined classes, a low probability target class and a high probability non-target class, comprising: training means for deriving a plurality of projection vectors from a training set of sample target patterns and sample non-target patterns, each of said projection vectors being derived to achieve a separation between said sample target patterns and a close-to-maximal portion of selected sample non-target patterns from said training set; and a multi-stage classifying means operatively associated with said training means for determining whether said input pattern belongs to said target class by successively projecting said input pattern using a rejection-based sequence of stages of said projection vectors to ascertain whether said input pattern should be rejected as belonging in said non-target class, said classifying means being configured to label said input pattern as belonging in said non-target class at each successive stage if a predefined condition is satisfied and being configured to label said input pattern as belonging to said target class if said input pattern progresses through all of said stages without being labeled as belonging to said non-target class.
 15. The system of claim 14 wherein said training means includes a means for calculating said projection vectors in an iterative manner such that a subsequent projection vector is at least partially dependent on a previously calculated projection vector with respect to said non-target patterns that needs to be considered to calculate said subsequent projection vector.
 16. The system of claim 15 wherein said means for calculating said projection vectors is configured to utilize a proximity measure based on probability distributions of said sample target patterns and said sample non-target patterns in order to calculate said projection vectors.
 17. The system of claim 16 wherein said means for calculating each said projection vector (u) is configured to minimize an expression $\frac{u^{T}R_{xx}u}{{u^{T}\left\lbrack {R_{xx} + R_{yy} + {\left( {M_{y} - M_{x}} \right)\left( {M_{y} - M_{x}} \right)^{T}}} \right\rbrack}u},$

where (a) u^(T) is a transpose for u, (b) M_(x) and R_(xx) are a mean-variance pair of said probability distribution of said sample target patterns and (c) M_(y) and R_(yy) are a mean-variance pair of said probability distribution of said sample non-target patterns.
 18. The system of claim 17 wherein said means for calculating said projection vectors is configured to regularize said mean-variance pairs, M_(x), R_(xx), M_(yy) and R_(y).
 19. The system of claim 18 wherein said means for calculating said projection vectors is configured to regard a neighborhood of each pattern of said sample target patterns and said sample non-target patterns as additive noise with a known variance.
 20. The system of claim 14 wherein said training means includes a means for determining corresponding pairs of threshold values for said projection vectors, each pair of said corresponding pairs of threshold values defining a target-containing interval for a particular projection vector, said target-containing interval defining said predefined condition.
 21. The system of claim 20 wherein said classifying means includes: a linear projection unit that is configured to generate projection values for said projection vectors, each of said projection values corresponding to a specific projection vector; and a thresholding module operatively associated with said linear projection unit that is configured to determine whether each of said projection values falls outside a target-containing interval that is defined by a pair of said threshold values associated with said specific projection vector, said projection values that falls inside said target-containing interval being indicative of said input pattern belonging in said non-target class.
 22. The system of claim 21 wherein said classifying means further includes a decision module operatively coupled to said thresholding module that is configured to identify said input pattern as belonging to said target class, if said input pattern has not been identified as belonging in said non-target class by said thresholding module.
 23. A method of classifying an input pattern into one of two classes, a low probability target class and a high probability non-target class, comprising steps of: (1) extracting a plurality of projection vectors using a sample set of target patterns and non-target patterns, each projection vector providing a close-to-maximal rejection of said non-target patterns for a given set of said target patterns and said non-target patterns, said extracting including; calculating each of said projection vectors (u) to achieve a separation of said target patterns and a close-to-maximal portion of said given set of said target patterns and said non-target patterns, including utilizing a proximity measure of said projection vector based on probability distributions of said target patterns and said non-target patterns and based upon minimizing an expression $\frac{u{{}_{}^{}{}_{}^{}}u}{{u^{T}\left\lbrack {R_{xx} + R_{yy} + {\left( {M_{y} - M_{x}} \right)\left( {M_{y} - M_{x}} \right)^{T}}} \right\rbrack}u},$

where u^(T) is a transpose with respect to said projection vector (u), M_(x) and R_(xx) are a mean-variance pair of said probability distribution of said target patterns and where M_(y) and R_(yy) are a mean-variance pair of said probability distribution of said non-target patterns; and removing said non-target patterns from said given set that have projection values outside a target-containing interval for each of said projection vectors, said removal resulting in a reduced sample set that contains fewer of said non-target patterns, said reduced sample sets being used to calculate a subsequent projection vector; (2) successively projecting said input pattern onto said projection vectors to derive a plurality of projection values, including examining each of said projection values to determine whether said input pattern belongs to said non-target class at each successive projection; and (3) identifying said input pattern as belonging in said target class if said input pattern has not been determined as belonging in said non-target class.
 24. The method of claim 23 wherein said step of examining each of said projection values includes a step of thresholding each of said projection values with at least one threshold value for said determination.
 25. The method of claim 24 wherein said step of thresholding each of said projection values with at least one of said threshold values is a step of thresholding each of said projection values with an upper limit threshold value and a lower limit threshold value to determine whether said input pattern belongs in said non-target class at each successive projection, a projection value that falls outside an interval defined by said upper and lower limit threshold values being determined as belonging in said non-target class.
 26. The method of claim 23 further comprising a step of receiving said sample set of target patterns and non-target patterns in a vector form, wherein vectors of said target patterns represent blocks of image pixels that contain a picture of a human face and wherein vectors of said non-target patterns represent blocks of image pixels that do not contain said picture of said human face.
 27. The method of claim 23 further comprising a step of regularizing said mean-variance pairs, M_(x), R_(xx), M_(y) and R_(yy).
 28. The method of claim 27 wherein said step of regularizing said mean-variance pairs includes regarding a neighborhood of each pattern of said target patterns and said non-target patterns as additive noise with a known variance. 